home *** CD-ROM | disk | FTP | other *** search
/ World of Video / World of Video.iso / gfxprograms / boards / retina / rblanker.lha / RBlankers / blanker.h next >
C/C++ Source or Header  |  1995-02-13  |  3KB  |  102 lines

  1. /*
  2.  * Default Screen settings.
  3.  */
  4. #define NORMAL_WIDE 640
  5. #define NORMAL_HIGH 480
  6. #define SMALL_WIDE 320
  7. #define SMALL_HIGH 240
  8. #define DEF_MODE MID_DEFAULT_08
  9.  
  10. #define PI2 6.28318539717958
  11. #define FINC .0628318539717958
  12.  
  13. #define RAND(m) (Random(m)-(m)/2)
  14. #define MASK(n) (1L<<(n))
  15.  
  16. /*
  17.  * Commodity Stuff
  18.  */
  19. #define HOTKEY_OPEN_WINDOW 1L
  20. #define HOTKEY_BLANK_SCREEN 2L
  21.  
  22. #define DEF_CX_PRI 0
  23. #define DEF_POPKEY "control alt s"
  24. #define DEF_BLANKKEY "lamiga s"
  25.  
  26. /*
  27.  * Process management stuff
  28.  */
  29. #define MAX_TIMEOUT        3600L
  30. #define MAX_CLIENT_TIMEOUT 60L
  31.  
  32. #define DEF_TIMEOUT        60L
  33. #define DEF_CLIENT_TIMEOUT 5L
  34.  
  35. #define SERVER_PRI 3L
  36. #define CLIENT_PRI -5L
  37.  
  38. extern UBYTE *PopKey;
  39. extern UBYTE *BlankKey;
  40. extern LONG TimeOut, ClientTimeOut;
  41.  
  42. extern struct ExecBase *SysBase;
  43. extern struct DosLibrary *DOSBase;
  44.  
  45. extern struct IntuitionBase *IntuitionBase;
  46. extern struct RetinaBase *RetinaBase;
  47. extern struct Library *CxBase, *GadToolsBase, *IconBase;
  48.  
  49. extern struct ClientMessage; 
  50. extern struct Task *ServerProcess;
  51. extern BYTE bsp_TimerSig, bsp_InputSig, bsp_ClientSig;
  52. extern struct MsgPort *CxPort;
  53.  
  54. struct ClientMessage {
  55.     struct Message bcm_Message;
  56.     struct RetinaScreen *bcm_Screen;
  57.     LONG bcm_Status;
  58.     ULONG bcm_SigMask;
  59.     LONG bcm_Lines, bcm_Speed, bcm_Vertices;
  60. };
  61.  
  62. /*
  63.  * We use defines for these functions just to pick up a little speed.
  64.  */
  65.  
  66. #define SpritesOff(rs)                 \
  67. {                                    \
  68.     struct TagItem tags[] =            \
  69.     {RSP_On, 0L, TAG_DONE, 0L};        \
  70.                                     \
  71.     Retina_SpriteFunction(rs, tags);\
  72. }
  73.     
  74. #define SpritesOn(rs)                \
  75. {                                    \
  76.     struct TagItem tags[] =            \
  77.     {RSP_On, 1L, TAG_DONE, 0L};        \
  78.                                     \
  79.     Retina_SpriteFunction(rs, tags);\
  80. }
  81.  
  82. void Error(char *s);
  83. void __regargs RemTool(void *Tool);
  84. void __regargs Quit(int ReturnCode, char *s);
  85. void __regargs AddTool(void *NewTool, void (*ProcPtr)(void *,LONG), LONG NewSize, char *errmsg);
  86. void __stdargs DeleteMsgPortSafely(struct MsgPort *AnyPort);
  87. int __regargs ArgIntRange(char **ToolTypes, char *ID, int Min, int Default, int Max);
  88. void __interrupt __saveds BlankerAction(CxMsg * CxMsg, CxObj * CO);
  89. LONG GetNum(struct Window *BlankerWindow, struct Gadget *Gadget, LONG Min, LONG * Data, LONG Max);
  90. void __regargs HandleCxMsg(CxObj * Broker, CxMsg * CxMsg, LONG * TimeUntilBlank, LONG * ThisTimeOut);
  91. void DestroyScreen(struct RetinaScreen *rs);
  92. struct RetinaScreen *CreateScreen(UBYTE *colors);
  93. void __stdargs DeleteBlankerClient(struct MsgPort * ClientPort);
  94. struct MsgPort *__regargs CreateBlankerClient(void *ClientRoutine, struct ClientMessage *ClientMessage);
  95. void __regargs DrawLines(void *plist, struct RetinaScreen *rs);
  96. void *__regargs CreateLines(struct RetinaScreen *Screen, LONG NumLines, LONG Speed);
  97. WORD __regargs Random(WORD Max);
  98. void __interrupt __saveds RLinesClientProcess(void);
  99. void OpenBlankerWindow(void);
  100. void CloseBlankerWindow(void);
  101.  
  102.